Broadcasters such as cable television companies typically provide a user interface called an Electronic Program Guide (EPG) that allows subscribers to conveniently ascertain what events are available on their network at present and in the near future. EPGs often display their data in a grid with rows of the grid representing available channels and columns representing time periods, such as a half hour or hour. In each cell of the grid, the EPG displays the title of the event that will air at the corresponding time and channel.
In addition to event titles, EPGs typically offer more detailed descriptions of content. These detailed descriptions may be accessed in a variety of ways, such as positioning a highlight cursor over the cell that displays the title of the event or pressing an information button while viewing an event.
To be readily available to the user, the information contained in the event descriptions is stored on a client device on the broadcast network, which is normally a set top box connected to a television set. In most cases, the memory available for event descriptions is quite limited. The total amount of memory available in typical set top boxes today is 314 Kb to 16 Mb, with much of that occupied by other code and data for other non-EPG functions.
Modern broadcast networks may carry hundreds of events at a time. Because of this large capacity, the working set of data required to facilitate an EPG for even a relatively short period of programming consists of thousands of event descriptions. The limited memory in the set top box ultimately restricts the number of event descriptions and the detail of those descriptions that can be made available to the viewer.
Because viewers are typically interested in only a small percentage of the programming offered, the majority of the data are never displayed; thus, the large quantity of irrelevant data that must be stored on the client reduces the quality of event descriptions for events of interest to the user.